/*
 Problem Description
　　过去的2012年对小Ｑ来说是很悲催的一年，失恋了12次，每次都要郁闷1个来月。
　　好在小Q是个体育迷，在最痛苦的时候，他常常用观看各种体育节目来麻醉自己，比如伦敦奥运会期间，小Q就常常在周末邀上一群单身同事聚在自己的蜗居，一边畅饮啤酒，一边吹牛。
　　小Q最喜欢看的是跳水，主要原因也是因为这个项目有中国人参加，而且中国队员获胜的几率很大，一般不会再给自己添堵，不然何谈看体育疗情伤呢。
　　跳水项目的一个重要环节就是裁判打分，小Q他们有时候会觉得某个裁判不公平，是不是有意在压中国队员的分数。于是每当一个队员跳水完毕，他们几个也像电视上的裁判那样给队员打分，并且规定，谁的分数和最终得分最接近谁就是他们当中的最佳裁判，现场奖励啤酒一杯！
　　其中，最终得分是这样计算的：N个人打分，去掉一个最高分，去掉一个最低分，然后剩余分数相加，再除以N-2即为最终得分。
　　凭借“看体育疗情伤”而练就的专业体育知识，小Q几乎每局必胜，这一夜，小Ｑ注定要烂醉如泥了......
Input
　　输入包含多组测试用例。
　　每组测试用例首先是一个整数N，表示裁判的人数，然后接着是N个实数，表示N个裁判的打分Pi，N为0时结束输入。
　　[Technical Specification]
　　5 <= N <= 20
　　0<=Pi<=10
Output
　　请计算并输出最佳裁判的编号，每组数据输出占一行，若有多人并列最佳裁判，只要求输出编号最小的那个。
　　特别说明：裁判编号按照打分的顺序从1开始，依次类推，最后一人编号为N。
Sample Input
5 8.3 9.2 8.7 8.9 9.0
0
Sample Output
4
 */
package com.yuan.algorithms.practice201506;

import java.util.Scanner;

public class 最佳裁判 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int t = sc.nextInt();
			if (t==0) {
				break;
			}
			double[] arr = new double[t];
			double gpa = 0;
			double min = 0xffffff;
			double max = 0;
			int index = -1;
			for (int i = 0; i < arr.length; i++) {
				arr[i] = sc.nextDouble();
			}
			for (int i = 0; i < arr.length; i++) {
				if (arr[i]<min) {
					min = arr[i];
				}
				if (arr[i]>max) {
					max = arr[i];
				}
			}
			for (int i = 0; i < arr.length; i++) {
				gpa += arr[i];
			}
			gpa -= (max+min);
			gpa /= (t-2);
			min = 0xffffff;
			for (int i = 0; i < arr.length; i++) {
				double temp = Math.abs(gpa-arr[i]);
				if (temp < min) {
					min = temp;
					index = i + 1;
				}
			}
			System.out.println(index);
		}
	}

}
